home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / serien / purity / nr.11 / kickpascal-programme / iff / cli.i next >
Text File  |  1995-04-21  |  1KB  |  54 lines

  1. FUNCTION GetArg(Nummer:SHORT):STR;
  2.  
  3.  TYPE StrFeld = ARRAY[1..21] OF STRING[60];
  4.  
  5.  VAR Strings : StrFeld;
  6.      i, Index, AktStrLen : CARDINAL
  7.      ParString : STRING [80];
  8.      Trennzeichen : CHAR;
  9.  
  10.  BEGIN
  11.   Trennzeichen:=' ';
  12.   Index:=1;
  13.   Strings[Index]:='';
  14.   AktStrLen:=0;
  15.   ParString:=ParameterStr;
  16.   i:=1;
  17.   WHILE (ParString[i]<>';') AND (i<=ParameterLen) AND (ParString[i]<>Chr(10)) DO
  18.    BEGIN
  19.     IF ParString[i]=Trennzeichen THEN BEGIN
  20.      IF AktStrLen<>0 THEN BEGIN
  21.       Strings[Index]:=Strings[Index]+CHR(0);
  22.       Inc(Index);
  23.       Strings[Index]:='';
  24.       Trennzeichen:=' ';
  25.       AktStrLen:=0;
  26.      END;
  27.     END ELSE BEGIN
  28.      IF ParString[i]=CHR(34) THEN BEGIN   {CHR(34) = Gänsefüßchen}
  29.       Trennzeichen:=CHR(34);
  30.      END ELSE BEGIN
  31.       Strings[Index]:=Strings[Index]+ParString[i];
  32.       Inc(AktStrLen);
  33.      END;
  34.     END;
  35.      inc(i);
  36.    Strings[Index+1]:='';
  37.    GetArg:=^Strings[Nummer];
  38.   END;
  39.   END;
  40.  
  41. FUNCTION ArgNum:CARDINAL;
  42.  VAR Num:CARDINAL;
  43.      HelpStr:STRING[80];
  44.  
  45.  BEGIN
  46.   Num:=0;
  47.   HelpStr:=GetArg(Num+1);
  48.   WHILE HelpStr<>'' DO BEGIN
  49.    Inc(Num);
  50.    HelpStr:=GetArg(Num+1);
  51.   END;
  52.   Argnum:=Num;
  53.  END;
  54.